11 research outputs found

    A Rapid Heuristic for Scheduling Non-Preemptive Dependent Periodic Tasks onto Multiprocessor

    Get PDF
    International audienceWe address distributed real-time applications represented by systems of non-preemptive dependent periodic tasks. This system is described by an acyclic directed graph. Because the distribution and the scheduling of these tasks onto a multiprocessor is an NP-hard problem we propose a greedy heuristic to solve it. Our heuristic sequences three algorithms: assignment, unrolling, and scheduling. The tasks of the same, or multiple, periods are assigned to the same processor according to a mixed sort. Then, the initial graph of tasks is unrolled, i.e. each task is repeated according to the ratio between its period and the least common multiple of all periods of tasks. Finally, the tasks of the unrolled graph are distributed and scheduled onto the processors where they have been assigned. Then, we give the complexity of this heuristic, and we illustrate it with an example. A performance analysis comparing our heuristic with an optimal Branch and Cut algorithm concludes that our heuristic is effective in terms of scheduling success ratio and speed

    Load Balancing and Efficient Memory Usage for Homogeneous Distributed Real-Time Embedded Systems

    Get PDF
    International audienceThis paper deals with load balancing and efficient memory usage for homogeneous distributed real-time embedded applications with dependence and strict periodicity constraints. Most of load balancing heuristics tend to minimize the total execution time of distributed applications by equalizing the workloads of processors. In addition, our heuristic satisfies dependence and strict periodicity constraints which are of great importance in embedded systems. However, since resources are limited some tasks distributed onto a processor may require more data memory than available. Thus, we propose a fast heuristic achieving both load balancing and efficient memory usage under dependence and strict periodicity constraints. Complexity and theoretical performance studies have showed that the proposed heuristic is respectively efficient and fast. Thus, an efficient memory usage is also necessary, especially in embedded systems where memory is limited. Although the total execution time of tasks is minimized some tasks could not be executed because the processors where they were distributed do not own enough memory to store the data used by these tasks. However, memory usage plays a significant role in determining the applications performances

    Load Balancing and Efficient Memory Usage for Homogeneous Distributed Real-Time Embedded Systems

    Get PDF
    International audienceThis paper deals with load balancing and efficient memory usage for homogeneous distributed real-time embedded applications with dependence and strict periodicity constraints. Most of load balancing heuristics tend to minimize the total execution time of distributed applications by equalizing the workloads of processors. In addition, our heuristic satisfies dependence and strict periodicity constraints which are of great importance in embedded systems. However, since resources are limited some tasks distributed onto a processor may require more data memory than available. Thus, we propose a fast heuristic achieving both load balancing and efficient memory usage under dependence and strict periodicity constraints. Complexity and theoretical performance studies have showed that the proposed heuristic is respectively efficient and fast. Thus, an efficient memory usage is also necessary, especially in embedded systems where memory is limited. Although the total execution time of tasks is minimized some tasks could not be executed because the processors where they were distributed do not own enough memory to store the data used by these tasks. However, memory usage plays a significant role in determining the applications performances

    Optimizing Distributed Real-Time Embedded System Handling Dependence and Several Strict Periodicity Constraints

    Get PDF
    This paper focuses on real-time nonpreemptive multiprocessor scheduling with precedence and strict periodicity constraints. Since this problem is NP-hard, there exist several approaches to resolve it. In addition, because of periodicity constraints our problem stands for a decision problem which consists in determining if, a solution exists or not. Therefore, the first criterion on which the proposed heuristic is evaluated is its schedulability. Then, the second criterion on which the proposed heuristic is evaluated is its execution time. Hence, we performed a schedulability analysis which leads to a necessary and sufficient schedulability condition for determining whether a task satisfies its precedence and periodicity constraints on a processor where others tasks have already been scheduled. We also present two multiperiodic applications

    Ordonnancement temps réel multiprocesseur de tâches non-préemptives avec contraintes de précédence, de périodicité stricte et de latence

    No full text
    La réalisation de systèmes temps réel embarqués complexes que l'on trouve dans les domaines de l'avionique, de l'automobile, de la robotique, etc. conduisent à résoudre des problèmes d'ordonnancement temps réel non préemptif pour des architectures multiprocesseurs en respectant des contraintes multiples de précédence, de périodicité stricte et de latence. Dans la littérature les problèmes de ce type sont résolus avec des méthodes approchées (heuristiques) donnant des résultats dans un temps raisonnable comparées à des méthodes exactes. Par ailleurs le problème tel que nous le posons a été peu étudié. Ce dernier étant complexe nous avons choisi d'étudier séparément la périodicité d'une part et la latence d'autre part, avec aussi dans les deux cas des contraintes de précédence. L'ensemble des résultats obtenus est utilisé pour traiter l'ordonnancement avec les trois contraintes. Afin de résoudre le problème d'ordonnancement avec précédence et périodicité stricte nous avons proposé une heuristique composée de trois étapes. La première étape appelée "assignation" est la plus importante car elle permet de décider si un système est ordonnançable ou pas sans être obligé d'attendre l'exécution des deux autres étapes de l'heuristique. Comme nous avons choisi d'utiliser la méthode du partitionnement - partitionner le problème multiprocesseur en plusieurs problèmes monoprocesseur - plutôt que la méthode globale pour faire l'ordonnancement multiprocesseur, nous avons pu donner une condition pour qu'une tâche, éventuellement plusieurs, soient ordonnançables sur un processeur auquel d'autres tâches ont déjà été assignées. Nous avons proposé deux versions d'algorithme d'assignation, une version gloutonne très rapide et une version .recherche locale. fondée sur le retour arrière (backtracking) qui revient à tester localement plusieurs assignations pour trouver celle qui satisfait les contraintes de périodicité stricte. Nous avons montré que la version "recherche locale", bien que moins rapide que la version gloutonne, donne des résultats très proches de ceux d'un algorithme exact de type "Branch & Cut". La seconde étape appelée "déroulement". consiste simplement à répéter chaque tâche et les arcs de précédence qui la concernent suivant le rapport entre l'hyper-période (PPCM des périodes de toutes les tâches) et sa période. La troisième étape consiste à ordonnancer les tâches sur les processeurs auxquels elles ont été assignées tout en minimisant le temps d'exécution de toutes les tâches (makespan), en prenant en compte le coût des communications interprocesseurs dues au fait que deux tâches liées par une précédence ont été assignées à deux processeurs différents. Par ailleurs comme nous considérons des systèmes embarqués pour lesquels les ressources sont limitées nous avons ajouté une quatrième étape, spécifique à l'embarqué, qui effectue de manière gloutonne de la répartition de charge et de mémoire. L'heuristique d'ordonnancement avec précédence et périodicité stricte a été programmée en OCAML dans le logiciel SynDEx diffusé par l'équipe projet AOSTE. Pour tester ces résultats théoriques ainsi que leur implantation dans le logiciel SynDEx on a effectué une expérimentation sur une application de suivi en train virtuel de CyCabs (véhicule électrique automatique conçu par l'équipe projet IMARA) avec contraintes de précédence et de périodicité. Afin de résoudre le problème d'ordonnancement multiprocesseur avec précédence et latence nous avons effectué une étude d'ordonnançabilité qui a montré que sa résolution est très liée aux chemins de tâches reliant la paire de tâches sur laquelle la contrainte de latence est imposée. Nous avons proposé une heuristique dans le cas d'une seule latence se composant d'une première étape appelée "clusterisation" et une deuxième étape appelée "union". La clusterisation consiste à regrouper les tâches faisant partie du même chemin dans le graphe et l'union cherche à adapter le nombre de ces clusters au nombre de processeurs en procédant à des unions entre clusters. Le cas de plusieurs latences demande de prendre en compte les différentes possibilités de chemins entre plusieurs paires de tâches soumises à différentes latences. Pour le cas le plus complexe correspondant à des chemins, entre paires de tâches soumises à différentes latences, croisés on a proposé une heuristique qui minimise la durée de l'ordonnancement entre chacune de ces paires de tâches. Les résultats obtenus précédemment ont été utilisés pour proposer une heuristique d'ordonnancement avec contraintes de précédence, de périodicité et de latence.ORSAY-PARIS 11-BU Sciences (914712101) / SudocSudocFranceF

    Assertion based on-line fault detection applied on UHF RFID tag

    No full text
    International audienceIn this paper, we propose a new RFID tag monitoring approach, based on adding an infrastructure circuit to simultaneously monitor and save faulty tag behaviour, in order to enable the implementation of advanced RFID diagnosis functions and mainly to reinforce tag security against fault attacks. The added infrastructure circuit is essentially composed of hardware assertions exclusively devoted to on-line fault detection on the tag. Saved information about detected faults can then be read using RFID readers. Our approach is initially evaluated and implemented in a developed tag emulator platform based on an FPGA board, then thoroughly exercised to demonstrate its valuable contribution to diagnosis means. Experimental results, obtained via random fault injection mechanism, show the effectiveness of the proposed approach
    corecore